草庐IT

PHP If...Else 语句

全部标签

php - 这个MySQL语句有什么问题?

$my->query("UPDATEideasSETcategory='DocumentOptions',category_id='4',status='Released',status_id='3',title='SupportforiPad',idea='AddsupportforiPad.AllowuploadsanddownloadsviatheanonymousAppforiPhoneandiPad.',release='0',release_date=''WHEREid='225'");$my是一个自定义类,其中包含许多其他mysql命令。为了证明它工作正常,它对以下查询非

mysql - 是否有创建空集的简单 SELECT 语句?

是否有一种简单易行的方法来创建具有指定列但零行的结果表?在集合论中,这称为空集,但由于关系数据库使用多维集,因此该术语并不完全适用。我已经尝试过这两个查询,但都只提供一行而不是零行:选择''作为ID;SELECTnullASID;但我想要的是与此查询相同的结果:SELECTIDFROMsometableWHEREfalse;我正在寻找一种更优雅的方式,因为我不想涉及表,因此查询独立于任何数据库方案。此外,通用查询可能会更快一些(对于这样的查询来说并不重要)。 最佳答案 SELECT"ID"LIMIT0;没有任何真实的表格。请注意,大

php - 删除重复项并更新唯一的一个语句中的所有内容?

CREATETABLEhostname_table(idINTNOTNULLAUTO_INCREMENT,hostnameCHAR(65)NOTNULL,interval_avgINT,last_updateDATETIMENOTNULL,numb_updatesINT,PRIMARYKEY(id))我有这张表,我向其中导入了500-600k行数据。我在写入数据库时​​不检查重复项,因为我想知道每个主机有多少重复项,并且我还想知道所述主机名每次更新之间的间隔。hostname_table中的示例值:idhostnameinterval_avglast_updatenumb_update

java - 如何为 SQL 查询转义字符串(没有准备好的语句)

我知道准备语句的威力,但我不能在这里使用它。我通过HTTP而不是通过JDBC将sql查询发送到外部服务器。如何为SQL查询转义字符串?有办法通过JDBC做到这一点吗?或者我应该为此使用自定义类/函数?附注我还连接到其他数据库,因此我可以使用JDBC函数。 最佳答案 这听起来很不安全。如果您通过HTTP发送SQL语句,那么您可能会受到中间人攻击(以及其他攻击)的危害。除此之外,任何普通水平的程序员都可以尝试对您的数据库执行恶意SQL,如果他们看到您正在发送SQL语句。他们可以创建用户、更改密码、检索敏感数据...您确定这是处理问题的最

php - 将 mySQL 插入和更新语句切换为 PDO 准备语句以防止 SQL 注入(inject)

我正在尝试将这些mySQlINSERTINTO和Update语句切换为PDO准备语句(主要是为了防止SQL注入(inject)),但我在正确使用语法方面遇到了一些困难。我目前使用2种类型的INSERT/Update语句:声明1-名称是硬编码的$qry="INSERTINTOcustomer_info(fname,lname,email,user_name,password)VALUES('$_POST[fname]','$_POST[lname]','$_POST[email]','$user_name','".sha1($salt+$_POST['password'])."')";$

php - 如果在循环中使用 MySQLi 准备语句,我什么时候调用 bind_param?

我正在尝试学习如何在MySQLi中使用准备好的语句来插入数据。尽管准备好的语句因其重复高效地执行类似语句的能力而受到称赞,但我似乎找不到使用MySQLi在循环中执行多个语句的示例。我特别对以下内容感到困惑:是在我的循环之前还是在我的循环中调用bind_param是否在调用bind_param之前或之后为我的变量赋值大多数关于预处理语句的教程都使用PDO。使用PDO,可以将一组参数值传递给execute,从而无需调用bindParam。MySQLi不是这种情况。PHP手册mysqli_prepare条目有一个显示以下操作顺序的示例:为变量赋值准备声明绑定(bind)变量执行关闭根据以上判

mysql - 如何在 SQL case 语句中什么都不做?

我需要有条件地更新列,在某些情况下根本不更新它。这是我能想到的最好的方法,但它似乎在ELSE中效率低下,因为它仍在使用列的当前值更新列。有没有更好的方法可以让ELSE完全“什么都不做”。UPDATEmytableSETcol1=CASEWHEN(col1=20)THEN10ELSEcol1END 最佳答案 应用WHERE:UPDATEmytableSETcol1=10WHEREcol1=20但是,如果您的更新更复杂并且您实际上需要多个CASE,您要么硬着头皮省略WHERE,要么必须将所有列添加到您要更新的WHERE:UPDATEmy

mysql - MySQL CASE 语句中的相关子查询

这里是我要完成的事情的简要说明;我的查询如下。有4个表和1个View与此特定查询相关(抱歉,名称看起来很乱,但它们遵循严格的约定,如果您看到完整列表,这将是有意义的):Performance可能有许多Performer,这些关联存储在PPerformer中。Fan可以拥有收藏夹,这些收藏夹存储在Favorite_Performer中。_UpcomingPerformancesView包含显示即将进行的表演的用户友好列表所需的所有信息。我的目标是从_UpcomingPerformances中选择所有数据,然后包括一个额外的列,该列指定给定的表演是否有粉丝添加为他们最喜欢的表演者。这涉及选

MySql 事务/语句计数

我目前正在尝试弄清楚如何计算在给定时间间隔内针对MySql数据库执行的事务/语句的数量。以前有人做过吗?是否有任何跟踪这些指标的mysql表?我知道SQLServer跟踪这类事情,但我没能为mysql找到任何东西。提前致谢! 最佳答案 mysql>SHOWENGINEINNODBSTATUS\G...------------TRANSACTIONS------------Trxidcounter34824...对于涉及InnoDB表的每个事务,事务ID计数器都会递增。如果您的语句没有触及InnoDB表,则数字不会递增。但是yoush

php - while/if/else 的 echo 问题

我是一名学习PHP和MySQL的初学者,已经学习了深入浅出PHP和MySQL的第5章,并且正在尝试一个自制项目,我在其中创建了一个数据库和一个索引。php页面,我可以在其中看到打印出的结果。当我转到我的index.php页面时,我看到了HTML标题,但PHP代码没有打印出我提交的内容。我必须假设我的代码语法是正确的,否则我会得到一个空白页。有人可以告诉我我的编码错误导致没有输出吗?FirstName:'.$row['first_name'].'';echo'LastName:'.$row['last_name'].'';echo'SpouseName:'.$row['spouse_na